﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharpInheritTeach
{
    /// <summary>
    /// 子类
    /// 
    /// 
    /// 
    /// 
    /// 
    /// protected只能在父类内部，和子类内部使用，不能通过对象的方法去使用
    /// 
    /// 
    /// 
    /// 
    /// 
    /// 父类的private成员，子类是不能直接调用的，也是无法直接看到的
    /// 但是父类所有的成员（包括private修饰的） 其实都被子类继承过来
    /// </summary>
    public class Teacher : Person
    {
        public Teacher() { }

        public Teacher(string name,string gender,string company):base(name,gender)  //构造方法必须用base
        {
            //this.Name = name;
            Name = name;
            base.Gender = gender; //base(基础)
            this.Company = company;
        }

        public Teacher(string address)
        {
            //子类内部，是可以直接使用protected的
            base.Address = address;
            base.Have();
        }

        public Teacher(string name, string post):base(post)
        {
            base.Name = name;
        }

        //添加自己的特意属性和方法
        public string Company { get; set; }

        public void Show()
        {
            Console.WriteLine("老师正在给学生上课");
        }
    }
}
